Welcome to Django!

2.2 处理动态URL

查询一个年份下的所有文章列表, URL:article/动态的年份,比如ariticle/2023

查询一个年份,一个月份下的所有文章, URL:ariticle/年份/月份。比如:ariticle/2023/11

在Django可以这样设置,使用动态路由即可以实现

第一步,定义route时,给URL动态的变量起一个名字, 用<>包起来,如ariticle/ <year>

第二步,定义视图函数时,需要多一个位置参数,名字就是上面定义的变量名,比如:year

解释:这两步完成后,如果访问浏览器的URL被匹配到, 比如:ariticles/2023,django就会把2023赋值给变量year,此时在视图函数中就可以使用year变量了。


def yearmonth_archive(requeet,year,month): # 传入动态URL(yaer,month)

return HttpResponse( "精忠报国" ) #网面显示的是字符精忠报国“

urlpatterns = [

path( 'admin/' , admin.site.urls),

path( 'hello' , hello),

path( 'ariticles/<year>/<month>' , yearmonth_archive ) #设置动态URL,两个参数要与传入的参数一样。

]

# 本次增加地址: path('ariticles/<year</<month<3', yearmonth_archive),